package test.quiz2;

import java.util.ArrayList;
import java.util.List;

/**
 * @author oldliu
 * @since 1.0
 */
public class Game {
    public static void main(String[] args) {
        List<Integer> l=new ArrayList<>();
        for(int i=1;i<=100;i++){
            l.add(i);
        }
//        int start=0;//报数
//        int index=0;//集合下标
//        while (player.size()>1){
//            start++;
//            if(start==3){
//                player.remove(index);
//                start=0;
//            }else{
//                index=(++index)%player.size();//防止越界
//            }
//
//        }
//        System.out.println(player.get(0));

        /////////////
        int count = 0,sign=0;

        //开启循环，由题目可知，最后剩一人，所以最后的集合也就1个元素
        while (l.size()>1){
            //先让三人的标记点，进行循环
            sign++;

            //如果出现3了，直接删除集合中的该数，通过计数器count确定集合的下标
            if (sign==3){
                //重置标记点
                sign=0;
                Integer remove = l.remove(count);//删除之后，计数器count没发生变化，并且所有元素向前移动一位
                System.out.print(remove+" ");
                //如果算到最后一位了，计数器归零
                if (count==l.size()){
                    count=0;
                }
            }
            else {
                //没到标志点，计数器count继续执行,继续计算集合的下标
                count++;

                //如果算到最后一位了，计数器归零
                if (count==l.size()){
                    count=0;
                }
            }
        }
        System.out.println();
        System.out.println(l.get(0));

    }
}
